﻿using Newtonsoft.Json.Linq; // 引入 JSON 处理库
using System.Dynamic; // 引入动态类型支持
namespace XchUserInfo.BLL
{
    public class BllHelper
    {
        /// <summary>
        /// 将 JObject 类型的 JSON 对象转换为 ExpandoObject 动态对象。
        /// </summary>
        /// <param name="jo">待转换的 JObject 对象</param>
        /// <returns>返回转换后的动态对象</returns>
        public static ExpandoObject? ToParamObj(JObject jo)
        {
            if (jo == null) return null; // 如果传入的 JObject 为 null，返回 null
            var result = new ExpandoObject(); // 创建一个空的动态对象
            var dict = result as IDictionary<string, object>; // 将动态对象转换为字典以便访问
                                                              // 遍历 JObject 中的键值对，将其添加到字典中
            foreach (var kv in jo)
            {
                dict[kv.Key] = (string)kv.Value!; // 假设 JSON 对象的值为字符串
            }
            return result; // 返回最终转换的动态对象
        }
    }
}